Tuple এবং Record এর মধ্যে পার্থক্য

Computer Programming - এফ শার্প প্রোগ্রামিং (F# Programming) - Tuples এবং Records (টুপল এবং রেকর্ডস)
151

Tuple এবং Record এর মধ্যে পার্থক্য

Tuple এবং Record F#-এর দুইটি গুরুত্বপূর্ণ ডেটা স্ট্রাকচার। যদিও উভয়ই বিভিন্ন ধরনের ডেটা সংরক্ষণ করতে পারে, তবে তাদের ব্যবহার এবং বৈশিষ্ট্যগুলির মধ্যে কিছু গুরুত্বপূর্ণ পার্থক্য রয়েছে। চলুন দেখে নেই Tuple এবং Record এর মধ্যে পার্থক্য।


১. Tuple

Tuple হল একটি ডেটা স্ট্রাকচার যা একাধিক ভিন্ন ধরনের মান ধারণ করতে পারে। Tuple সাধারণত অর্ডারড, অ্যনোনিমাস (অর্থাৎ কোন নাম ছাড়াই) এবং অফবেজিক্যাল (অর্থাৎ একে পরিবর্তন করা যায় না) থাকে। Tuple এর মধ্যে প্রতিটি উপাদান আলাদা আলাদা টাইপ হতে পারে এবং আপনি বিভিন্ন আর্গুমেন্টে তাদের ব্যবহার করতে পারেন।

Tuple এর বৈশিষ্ট্য:

  1. অর্ডারড (Ordered):
    • Tuple এর মধ্যে উপাদানগুলি নির্দিষ্ট একটি অর্ডারে থাকে। এর মানে হল যে প্রথম উপাদানটি, দ্বিতীয় উপাদানটি, ইত্যাদি অর্ডারে থাকবে।
  2. অ্যনোনিমাস (Anonymous):
    • Tuple এর উপাদানগুলি নির্দিষ্ট নামের সাথে সম্পর্কিত নয়। প্রতিটি উপাদান একটি নির্দিষ্ট অবস্থান থেকে অ্যাক্সেস করা হয়।
  3. নির্দিষ্ট আকার (Fixed Size):
    • Tuple এর আকার নির্দিষ্ট এবং একবার তৈরি হলে তার আকার পরিবর্তন করা সম্ভব নয়। আপনি যদি একটি নতুন উপাদান যোগ করতে চান তবে একটি নতুন Tuple তৈরি করতে হবে।
  4. বিভিন্ন টাইপের উপাদান (Different Types):
    • Tuple এর প্রতিটি উপাদান ভিন্ন ধরনের হতে পারে (যেমন, int, string, float, ইত্যাদি)।

Tuple এর উদাহরণ:

let person = ("John", 25, true)  // Tuple of string, int, and bool
let name = fst person  // "John"
let age = snd person   // 25

এখানে, person একটি Tuple যেটিতে একটি string, int এবং bool টাইপের উপাদান রয়েছে। fst এবং snd ফাংশন ব্যবহার করে প্রথম এবং দ্বিতীয় উপাদান অ্যাক্সেস করা হয়েছে।


২. Record

Record হল একটি ডেটা স্ট্রাকচার যা একাধিক নামকৃত উপাদান ধারণ করতে পারে। F# এ রেকর্ড হল এমন একটি ডেটা টাইপ যা নির্দিষ্ট নামের মাধ্যমে উপাদানগুলির অ্যাক্সেস সক্ষম করে এবং এটি সাধারণত নামকৃত ফিল্ড ধারণ করে। রেকর্ডের ক্ষেত্রে আপনি বিভিন্ন ধরনের ডেটা টাইপের মান সংরক্ষণ করতে পারেন এবং প্রতিটি ফিল্ডের নাম থাকে।

Record এর বৈশিষ্ট্য:

  1. নামকৃত ফিল্ড (Named Fields):
    • Record এর প্রতিটি উপাদান একটি নাম এবং টাইপের সাথে সম্পর্কিত থাকে, যা আপনাকে সহজেই সেগুলি অ্যাক্সেস করতে দেয়।
  2. অর্ডার বা পজিশন গুরুত্বপূর্ণ নয় (Order Doesn't Matter):
    • Record এর উপাদানগুলোকে নাম দিয়ে অ্যাক্সেস করা হয়, তাই উপাদানের অবস্থান (অর্ডার) গুরুত্বপূর্ণ নয়।
  3. টাইপ সেফটি (Type Safety):
    • Record এর মধ্যে টাইপ সেফটি থাকে, অর্থাৎ আপনি যে নামটি দিয়ে অ্যাক্সেস করছেন সেটি সেই নামকৃত ফিল্ডের টাইপের সাথে সঙ্গতিপূর্ণ হওয়া উচিত।
  4. পুনঃব্যবহারযোগ্য (Reusable):
    • Record টাইপটি একটি স্ট্রাকচার হিসাবে ব্যবহার করা যেতে পারে যেখানে আপনি প্রোগ্রামিংয়ের যে কোনও জায়গায় একই ধরনের ডেটা ধারণ করতে পারেন।

Record এর উদাহরণ:

type Person = { Name: string; Age: int; IsStudent: bool }

let john = { Name = "John"; Age = 25; IsStudent = true }

let name = john.Name   // "John"
let age = john.Age     // 25

এখানে, Person একটি রেকর্ড টাইপ, যেখানে Name, Age, এবং IsStudent ফিল্ড রয়েছে। john হলো একটি রেকর্ড মান যার মধ্যে এই তিনটি ফিল্ড নির্ধারিত হয়েছে। আমরা সহজেই এই ফিল্ডগুলিকে নামের মাধ্যমে অ্যাক্সেস করতে পারি।


Tuple এবং Record এর মধ্যে পার্থক্য

বৈশিষ্ট্যTupleRecord
ফিল্ড নামফিল্ডের কোনো নাম থাকে না (অ্যনোনিমাস)প্রতিটি ফিল্ডের একটি নির্দিষ্ট নাম থাকে
অর্ডারঅর্ডার গুরুত্বপূর্ণঅর্ডার গুরুত্বপূর্ণ নয়
টাইপবিভিন্ন টাইপের মান থাকতে পারেপ্রতিটি ফিল্ডের টাইপ নির্দিষ্ট থাকে
বিন্যাসএকাধিক মান একত্রে সংরক্ষিত হয়মানগুলো নামকৃত ফিল্ডে সন্নিবেশিত হয়
অ্যাক্সেসউপাদান অ্যাক্সেস পজিশন অনুযায়ী হয়নামের মাধ্যমে অ্যাক্সেস করা হয়
ব্যবহারসাধারণত ছোট এবং অস্থায়ী ডেটা গঠনবড়, নামকৃত ডেটা গঠন যেখানে পুনঃব্যবহারযোগ্যতা থাকে
পরিবর্তনযোগ্যতাImmutable (নতুন টুপল তৈরি করতে হয়)Immutable (নতুন রেকর্ড তৈরি করতে হয়)

সারাংশ

  • Tuple সাধারণত একাধিক ভিন্ন ধরনের ডেটা একত্রে সংরক্ষণ করতে ব্যবহৃত হয়, যেখানে ফিল্ডগুলির নাম না থাকলেও তাদের অবস্থান অনুসারে অ্যাক্সেস করা হয়।
  • Record একটি নামকৃত ডেটা স্ট্রাকচার, যেখানে প্রতিটি ফিল্ডের নাম থাকে এবং এগুলো সাধারণত বড় আকারের ডেটা সংরক্ষণ এবং একাধিক জায়গায় ব্যবহার করা হয়। Record ফিল্ডের নাম এবং টাইপ আপনাকে কোডের মধ্যে আরও পরিষ্কারতা এবং টাইপ সেফটি প্রদান করে।

এছাড়া, Tuple ছোট এবং অস্থায়ী ডেটা সংরক্ষণের জন্য উপযুক্ত, যেখানে Record বৃহত্তর এবং পুনঃব্যবহারযোগ্য ডেটা সংরক্ষণের জন্য আদর্শ।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...